Concurrent Flashing of Processing Units by Means of Network Restructuring

ABSTRACT

A network of processing units having at least one switch that allows to disrupt the network between a first and a second processing units is provided. Disruption of the network by means of the switch effectively disconnects the first processing unit from the network and couples the first processing unit to a controller of the network. The controller is adapted to exchange data with the disconnected processing unit and thereby allows to selectively and directly exchange data with a selected processing unit. In particular in the framework of heterogeneous and hierarchical networks of processing units, the invention provides direct access to processing units and sub-networks and allows for an efficient and fast performance of diagnostic and maintenance procedures of sub-networks and the their corresponding processing units, such as e.g. performing a flashing procedure.

FIELD OF THE INVENTION

The present invention relates to the field of restructuring network embedded systems and in particular without limitation to dividing a network of processing units into various sub-networks for diagnostics and maintenance purposes.

BACKGROUND AND PRIOR ART

The implementation and embedding of electronic control units (ECU) or processing units is constantly growing in particular within the framework of automobile technology, industrial manufacturing technology as well as home entertainment or home appliances. In all these systems, a processing unit has to fulfill a distinct predefined function. Electronic systems featuring a plurality of such processing units are therefore denoted as networked embedded systems.

Complex electronic embedded systems have a large number of electronic control units that have to communicate with each other and/or have to exchange some data. For example, in today's high-end automobiles there exist up to about 100 processing units or electronic control units (ECU) that provide control of the vehicle functions. Typically, the plurality of electronic control units is arranged in various individual network branches, each of which providing a particular functionality for the vehicle control. Hence, each ECU in an automotive environment is designated and designed for a distinct purpose and features different requirements with respect to real-time behavior, data exchange rate, signal transmission signal processing.

Therefore, various control units are arranged in sub-networks with respect to their signal processing and signal transmission properties. For example, real-time demanding processing units, like engine control, breaking system or body control are arranged e.g. in a static, or non-reconfigurable, sub-network making use of a real-time and highly reliable bus protocol. Other control units that are, e.g. related to passenger comfort or passenger convenience, like infotainment related control units, may be arranged in a different sub-network making use of a less reliable and low cost communication platform and/or bus protocol.

Typically, the various sub-networks feature a gateway unit or a gateway controller that provides interaction and communication between ECUs of different sub-networks. Hence, the gateway controllers connect the various sub-networks and regulate the communication transfer between the different bus systems.

In the automotive environment the overall architecture of the communication platform between the electronic control units features a heterogeneous and hierarchical structure. This is mainly due to continuous adaptive implementation of various communication technologies into existing electronic embedded systems. However, the heterogeneous and hierarchical structure is rather disadvantageous because the gateway controllers represent bottlenecks for the data transfer within the network and further represent single points of failures. For example, if a particular gateway controller is subject to failure, the entire heterogeneous network will break down. At least the functionality of an involved network branch will no longer be available.

FIG. 1 illustrates a prior art implementation of a networked embedded system 100, featuring a plurality of sub-networks 114, 116, 118, 120 and 140. For example, the sub-network 120 is implemented as a straight bus network and provides communication and data transfer to the processing units 122, 124, 126, 128 and 130. The gateway controller 102 provides access and data transfer between any of the processing units 122, . . . , 130 with other processing units of the networked embedded system 100. Furthermore, the sub-networks may feature a different topology and may exploit different bus protocols. Sub-network 114 is implemented by means of the ring-bus topology, sub-network 116 features a star topology and sub-networks 120 and 140 feature a straight bus topology.

For example sub-network 120 might be implemented as a control area network (CAN) bus system or local interconnect network bus system (LIN), sub-network 140 might be implemented as a CAN or any other real-time network and sub-network 116 might be realized as a Flexray bus system. Moreover, the ring-bus network 114 may provide communication for processing units 142, 144, 146, 148 that are related to multi-media applications. Therefore, the ring-bus 114 might be implemented as a media oriented system transport (MOST) bus system.

As can be seen from FIG. 1, the gateway controllers 102, 104, 106, 108, 110 represent bottlenecks for communication between any two or various processing units and hamper diagnosis as well as maintenance of the overall network. Most prior art implementations of automobile networked embedded systems feature a diagnostic port 112 that provides external access to any one of the sub-networks or to any of the processing units. Typically, each processing unit or ECU 122, . . . , 126, 132, . . . , 138, 142, . . . , 148 features a non-volatile memory that may e.g. be implemented as EEPROM or flash memory to store runtime programs, micro-code and some key data in a non-volatile way. However, in case of failure or availability of a software update, an updating or modification of the non-volatile memories of various dedicated or of all control units might be required. In particular due to the heterogeneous structure it is often difficult and very cumbersome to exactly allocate a failure of a distinct ECU or a gateway controller. Therefore, even a complete flashing of all memories of all ECUs or processing units might be required.

The diagnostic port 112 therefore serves as an access point to the embedded networked system and provides diagnosis as well as feeding of data streams into the various ECUs and sub-networks. Due to the complex nature of the heterogeneous and hierarchical networked embedded structure, such a complete flashing process requires an insufficient long time, because e.g. slow-speed buses connect high-speed buses and therefore represent indispensable bottlenecks for the flashing procedure. For example for a high-end vehicle, a complete flashing process may take 10 to 18 hours. Since these re-flashing processes have to be performed by trained personnel of vehicle service stations, such a re-flashing procedure is rather cost intensive and is also associated with an unacceptable downtime of the entire vehicle. Due to the continuous tendency of implementing more and more electronic components and electronically controlled systems in the automotive environment, the above described disadvantages may become more and more prominent and need to be solved.

The present invention therefore aims to provide an improved electronic embedded network that allows for an efficient and less time intensive diagnosis and flashing as well as restructuring of electronic control units and entire sub-networks of a network of processing units.

SUMMARY OF THE INVENTION

The present invention provides a network of processing units that comprises at least one switch that is adapted to disrupt the network for establishing at least a first sub-network of processing units. The network further comprises a controller that is coupled to any one of the at least one switch. The controller is further adapted to exchange data with any of the processing units of the at least first sub-network. Preferably, the switch is adapted to physically interrupt the network between a first and a second processing unit of the network.

On the one hand such an disruption serves to disconnect a part of the network from the network or gateway controller. On the other hand by coupling the controller to the at least one switch, the controller gains direct access to the disconnected network or network branch. Typically, the at least first sub-network that is created by disrupting the network of processing units represents a network branch that is disconnected from the overall network of processing units and that is disconnected from its network or gateway controller.

The controller is coupled to any of the at least one switch, but data exchange between any of the processing units of the at least first sub-network and the controller may only take place if the at least first sub-network is actually disconnected from the network. Hence, only when the switch disrupts the network and only when the at least first sub-network is effectively established, the controller may have access to any one of the processing units of the at least first sub-network for data exchange. In this way, it is effectively prevented that the controller interferes with gateway controllers or network controllers of the network. Consequently, the controller only gains access to processing units of the network that were disconnected from the network by means of the at least one switch.

The inventive concept of coupling processing units that were disconnected from a network to a controller is universally applicable to any type of networked embedded system. Governed by the positioning of switches into the network, various sub-networks can be decoupled from the network and can be coupled to the controller. This allows for selective diagnostics and flashing of particular processing units of a network, irrespective of the network structure and network topology. Division of the network into various sub-networks is mainly limited by the positioning of switches throughout the network.

The invention is preferably applicable to heterogeneous and/or hierarchical networks of processing units that do not inherently allow for a direct and selective access to particular processing units. For example, in the automotive environment an ECU of a particular sub-network may only be accessible via various other sub-networks and corresponding gateway controllers. If this particular sub-network features an inventive switch, the particular ECU may be disconnected from the particular sub-network thus allowing for a direct access to this particular ECU by means of the controller.

Since the at least first sub-network can be directly coupled to the controller, data exchange between the controller and the processing units of the at least first sub-network can be performed with respect to the at least first sub-network's data exchange and data transmission properties. For example, the data exchange can be performed with the maximum data exchange rate of the at least first sub-network on the basis of the communication protocol of the at least first sub-network.

Hence, transmission of data packets representing status information of a processing unit or transmission of data packets for flashing a processing unit do no longer have to be transmitted via various sub-networks of the network but can be directly exchanged between the controller and the dedicated sub-network of processing units. Consequently, the negative impact of gateway controllers on data transmission representing bottlenecks of the network, can be effectively minimized. This leads to a remarkable increase of the performance of e.g. diagnostic procedures and flashing procedures. Corresponding data throughput and data transmission rates can be effectively increased and the corresponding down-times can be remarkably decreased.

Moreover, an entire flashing procedure can be performed selectively only for a particular sub-network, while the remaining network may remain in its original operation mode. For a maintenance or flashing procedure only parts of the network may be sequentially or simultaneously switched to a maintenance mode while the remaining network further operates. Hence, by selectively and sequentially or simultaneously performing a flashing procedure to various sub-networks, a flashing or diagnostic procedure of the network of processing units may be performed even without shutting down operation of the network.

According to a preferred embodiment of the invention, the controller is further adapted to control the at least one switch of the network. In this way establishing of the at least first sub-network as well as coupling the at least first sub-network to the controller for data exchange with the corresponding processing units is entirely controlled by means of the controller. Disruption of the network for establishing the at least first sub-network can therefore effectively correlated to data exchange with any of the processing units of the at least first sub-network. Therefore, disruption of the network and establishing of the at least first sub-network may be performed only if the controller is actually able to transmit data to the at least first sub-network or to receive data from the at least first sub-network. In this way, it is effectively guaranteed, that the at least first sub-network is disconneted from the network if the controller demands for a corresponding data exchange.

According to a further preferred embodiment of the invention, the controller is adapted to control any of the processing units of the at least first sub-network. Preferably, the controller only gains control of the processing units of the at least first sub-network if the at least first sub-network has been disconnected from the network. Moreover, the controller may be provided with access to every function of the processing units and may even overrule any interaction between processing units of the at least first sub-network. In order to control the processing units, the controller is adapted to generate and to transmit appropriate control commands for each of the processing units of the at least first sub-network.

According to a further preferred embodiment of the invention, the controller is adapted to dynamically reconfigure the at least one switch and to dynamically restructure the at least first sub-network. Disruption of the network and establishing the at least first sub-network therefore represents a dynamic process that can be reversed or arbitrarily modified. For example, the at least first sub-network can be disconnected from the network for a sub-network specific flashing procedure and after termination of this flashing procedure, the sub-network may be reconnected to the network by means of the at least one switch. Thereafter, a different sub-network may be established by means of a different switch.

Alternative to a reconnection of the at least first sub-network to the network, the at least first sub-network may be subject to a further disruption if the at least first sub-network features a further switch. In this way, the network of processing units can be sequentially divided into various sub-networks allowing for selective diagnostics and selective maintenance of the various sub-networks. This is of particular advantage for determining and allocating network branches or processing units that are subject to failure.

For example, a first sub-network having ten processing units can be disconnected from the network for a diagnostic purpose. Performing a diagnostic procedure on the first sub-network may provide diagnostic information that at least one processing unit of the sub-network is subject to failure. In order to determine the failed processing unit, the first sub-network may be further divided into two sub-sub-networks, each of which featuring e.g. five processing units. This requires that the first sub-network has an appropriate switch between the fifth and the sixth processing unit. However, by dividing the first sub-network into two sub sub-networks, each of the sub sub-networks can be separately tested. In this way the network of processing units can be iteratively disrupted and divided into smaller sub-networks and a malfunctioning of a processing unit can be determined on a scale of the smallest possible sub-network. This smallest possible sub-network is mainly governed by a positioning and distribution of the switches in the network structure and therefore depends on the overall design of the network.

According to a further preferred embodiment of the invention, the at least one switch further comprises at least one transmission gate. This transmission gate serves as an ideal switch featuring ideal insulating or conductive electrical properties depending on a driving signal. Typically, the transmission gate has a negligible impact on the network and generally features a very low leakage. Moreover, a transmission gate serves as an electrically controlled switch irrespective of the sign of the signal being carried by the network that is disrupted by means of the transmission gate. Typically, the transmission gate is implemented by means of fi transistors (FET) that may be realized by means of metal oxide semi-conductor (MOS) technology. Preferably, the transmission gate features a pair of contrary coupled NMOS and PMOS transistors.

According to a further preferred embodiment of the invention, the switch comprises a first and a second transmission gate, wherein the first transmission gate provides disruption of the network between a first and a second processing unit and the second transmission gate provides coupling of the first processing unit to the controller. In this embodiment, the first and the second transmission gates are coupled by means of an inverter providing a contrary switching of the first and the second transmission gate. In this way, the first and the second transmission gates are always triggered simultaneously and always feature opposite switching states.

Whenever the first transmission gate is in conducting mode, the second transmission gate is in disruption mode and vice versa. Making use of such a coupled arrangement of first and second transmission gates, the switch inherently provides only two different operation states. In the first operation state the switch disrupts the network and establishes the sub-network that is disconnected from the network and is therefore coupled to the controller. In the second state the controller is decoupled from the sub-network by means of the switch and the sub-network is connected to the network, hence the sub-network is again coupled into the network.

According to a further preferred embodiment of the invention, the controller is adapted to flash the processing units of the at least first sub-network simultaneously or to flash said processing units within partially overlapping time intervals. Simultaneous flashing and/or flashing within partially overlapping time intervals may refer to individual processing units of a single sub-network but also to processing units of a plurality of different sub-networks. Hence, this simultaneous flashing procedure is by no means restricted to a single sub-network but various sub-networks established by various switches can be flashed simultaneously or within partially overlapping time intervals. In this way by making use of the controller serving as a data stream controller, flashing of various sub-networks and associated control units does no longer have to be performed sequentially.

For example, initializing and termination of flashing procedures for various sub-networks might be performed at various points of time. Also, flashing of various sub-networks might be triggered simultaneously, but due to a heterogeneous structure and different data transmission properties of the various sub-networks, the flashing procedure for each sub-network may require a different flashing time.

According to a further preferred embodiment of the invention, the controller is adapted to replace the functionality of an at least first gateway controller of a sub-network if the at least first gateway controller fails. Additionally, the controller may also replace the functionality of a failed processing unit of a sub-network. Replacing of functionalities of gateway controllers and/or processing units might be realized by interconnecting various sub-networks of processing units. For example, a failed processing unit of a first sub-network might be selectively disconnected from the network by means of at least one switch. This failed processing unit is then coupled to the controller which in turn couples the failed processing unit to a corresponding processing unit of a different sub-network. In this way redundant processing units can be shared among various sub-networks irrespective of the overall network topology.

Since the controller has separate access to any one of the switches, it may compensate a failure of a particular processing unit and may therefore be adapted to route any data traffic to and from the failed processing unit to a similar processing unit of a different sub-network. In this way, the inventive network architecture with the embedded controller allows to realize autonomic embedded computing and to autonomously compensate system and/or network failures. In general, the controller based implementation of the network allows to effectively eliminate and to replace bottlenecks and single points of failure of the network of processing units.

According to a further preferred embodiment of the invention, the processing units of the network are implemented as electronic control units (ECU) of a vehicle. Even though, the inventive network requires a number of dedicated switches, the inventive network might be realized as an extension to existing electronic networks, in particular in the framework of automotive electronics. For example, the required switches might be incorporated into connectors, such like plug-and-socket connections of existing automotive electronic networks. In this way, also existing automotive electronic networks can be retrofitted with the inventive concept of disrupting the network and coupling the disconnected network to a dedicated controller.

According to a further preferred embodiment of the invention, the processing units of the network are arranged in sub-networks that make use of different communication bus protocols and different network topologies. For instance, the sub-networks may feature network topologies, such as straight bus, star network or ring bus and may further make use of different data transmission standards, such like CAN C, CAN B, LIN, FlexRay, MOST and FireWire. These sub-networks represent network branches of the overall network of processing units and may be interconnected by means of gateway controllers.

Depending on the arrangement of the various sub-networks and their interconnections, the overall network may represent a hierarchical and heterogeneous structure. This type of heterogeneous and hierarchical network is commonly implemented in the automotive environment and the inventive positioning of switches in combination with the controller allows to selectively access various sub-networks for diagnostic and maintenance purposes. By means of the switches in combination with the controller that is coupled to any one of the switches, the hierarchical and heterogeneous structure of a network can be effectively broken through. By separately coupling any one of the switches to the controller, the network topology becomes rather flat effectively.

In another aspect, the invention provides a controller for establishing at least a first sub-network of a network of processing units. The controller comprises a switching module for disrupting the network by means of at least one switch and for establishing an at least first sub-network. Further, the controller comprises a data transmission module for transmitting data between the at least first sub-network and the controller. The switching module of the controller serves to trigger and to control the switch that is implemented into the network. Preferably, the switching module of the controller controls various switches that are distributed throughout the network and that allow to selectively disconnect a sub-network from the network and to couple the disconnected sub-network to the controller.

The data transmission module of the controller serves as a data stream controller and is adapted to receive diagnostic data from any of the connected sub-networks and to transmit flashing data to any of the connected sub-networks. The controller therefore serves to dynamically restructure the network of processing units for selectively and directly flashing distinct processing units of the network. Preferably, the controller is adapted to simultaneously flash various processing units of various sub-networks or to flash said processing units within partially overlapping time intervals.

In another aspect, the invention provides a switch for establishing at least a first sub-network of a network of processing units. The switch is adapted to be implemented between a first and a second processing unit of the network and comprises a first transmission gate that provides disruption of the network between the first and the second processing unit and further comprises a second transmission gate that provides coupling of the first processing unit to a controller. The first and the second transmission gates are complimentary coupled, i.e. when the first transmission gate disrupts the network, the second transmission gate couples the first processing unit to the controller and vice versa. In this way, the switch effectively serves to disconnect at least one processing unit or a branch of the network from the network and to simultaneously couple the disconnected processing units or disconnected network branch to a controller instead. Hence, the switch effectively provides selection of network branches or various processing units and to separately couple selected processing units to a controller for diagnostic or maintenance purpose.

The inventive switch may also be realized as an extension component for existing networks of processing units, e.g. in the framework of automotive electronic networks. The inventive switches may then be incorporated into plug-and-socket connections of an existing electronic network. This allows for a cost efficient retrofitting of electronic networks with the inventive disruption and controlling mechanism.

In another aspect, the invention provides a method of flashing processing units of a network of processing units that comprises disrupting the network between at least a first and a second processing unit by means of at least one switch, establishing at least a first sub-network on the basis of the at least one disruption and coupling of the at least first sub-network to a controller that in turn is adapted to flash the processing units of the at least first sub-network. The inventive flashing procedure allows to dynamically reconfigure the network of processing units and to selectively flash various sub-networks while remaining parts of the network stay in usual operation mode.

Preferably, the inventive flashing procedure is by no means restricted to sequentially disconnecting and flashing various sub-networks but also to a simultaneous flashing of various sub-networks and their corresponding processing units.

In still another aspect, the invention provides a computer program product for a controller of a network of processing units. The computer program product is operable to disrupt the network between at least a first and a second processing unit by making use of at least one switch. The computer program product is further operable to establish at least a first sub-network on the basis of the at least one disruption and to couple the at least first sub-network to the controller and to flash the processing units of the at least first sub-network.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following preferred embodiments of the invention will be described in detail by making reference to the drawings in which:

FIG. 1 shows a prior art implementation of a heterogeneous and hierarchical network of processing units,

FIG. 2 illustrates the inventive network having a controller and various switches,

FIG. 3 shows a schematic block diagram of the controller,

FIG. 4 shows a schematic illustration of the switch,

FIG. 5 schematically shows a switch being implemented by means of two transmission gates,

FIG. 6 schematically shows the internal structure of a transmission gate,

FIG. 7 schematically shows dividing of a star network into two sub-networks.

FIG. 2 shows the inventive network 200 featuring a plurality of processing units or electronic control units 122, 124, 126, 128, 130, 132, 134, 136, 138, 142, 144, 146 and 148. These processing units are heterogeneously arranged in different sub-networks 114, 116, 118, 120 and 140. Each of these sub-networks may feature different data transmission rates as well as different communication protocols. They may be implemented as bus systems based on e.g. CAN C, CAN B, LIN, FlexRay, MOST or FireWire data transmission standards. The gateway controllers 102, 104, 106, 108 and 110 serve to provide interaction and communication between the various sub-networks and their corresponding processing units.

Further the network 200 has a number of switches 204, 206, 208, 210, 212, 214, 216, 218 and 220. Each one of these switches serves to disrupt the network or sub-network at a given position. For example switch 204 is adapted to processing unit 132 from the sub-network 140. Switch 206 for instance serves to disconnect a whole set of processing units 132, 134, 136 from the sub-network 140. It serves to disrupt the communication bus between processing units 136 and 138.

Each one of the switches 204 and 206 is separately connected to two conductors or wires. Switch 204 is connected to conductor 222 and conductor 224 and switch 206 is connected to conductor 226 and conductor 228. Each one of these conductors 222, . . . , 228 is separately connected to the controller 202. For instance, conductor 222 is coupled to conductor 230 of the controller 202, conductor 224 is connected to conductor 234, conductor 226 is connected to conductor 232 and conductor 228 is connected to conductor 236. All other illustrated switches 208, . . . , 220 are connected to the controller 202 in a corresponding way.

By means of conductor 222 control signals are submitted to the switch 204 that allow for switching of the switch, hence to connect or to disconnect processing unit 132 to or from the sub-network 140. Conductor 224 in turn serves to provide data transmission between the switch 204 and the controller 202. It effectively serves for data transmission between controller 202 and any of the processing units 132 of a disconnected sub-network.

The switches 204, . . . , 220 allow for a dynamic restructuring of the entire network 200. This is of particular advantage for diagnostic and maintenance purposes, e.g. when various processing units of the network have to become subject to a software update or a flashing procedure. Instead of shutting down the entire network 200 and feeding flashing data into the diagnostic port 112 that has to be routed to e.g. a remotely located processing unit 132, the invention allows to selectively disconnect only this particular processing unit 132 from the network 200 and to selectively perform a flashing procedure of the processing unit 132 without interfering with the general network traffic. With the invention, the network does not have to be shut down during a flashing procedure. Instead, only a selected branch of the network is disconnected from the network and becomes subject to a diagnostic or maintenance procedure.

A selective flashing is by no means restricted to a single particular processing unit 132. Moreover, a flashing procedure can be applied to a plurality of processing units 132, 134, 136 forming a sub-network that can be disconnected from the network 200 by means of the switch 206. Based on this sub-network featuring the three processing units 132, 134, 136, a sub-sub-network featuring only one processing unit 132 can be divided by means of the switch 204. In this way a diagnostic procedure can be iteratively applied to smaller and smaller network branches for localizing and determining a particular failure of a processing unit.

Moreover, by making use of both switches 204, 206 also the two processing units 134, 136 can be effectively disconnected from the sub-network 140. Switching of the switch 206 in general disconnects all three successive processing units 136, 134, 132 from the sub-network 140. However, by switching the switch 204, the processing unit 132 can be disconnected from the sub-network formed by these three processing units and might be coupled to processing unit 138 via the switch 206 and the controller 202. In a similar way also the processing units 134, 136 can be decoupled from the sub-network or bus 140 and their functionality can be coupled to other sub-networks, e.g. sub-network 114, 116, 118 or 120.

Hence with the present invention sub-networks can be dynamically established, disconnected from sub-networks, and might be coupled to other network branches of the network 200. This allows for a dynamic reconfiguration of the net to break through the hierarchical and heterogeneous structure of the network 200. This allows to implement redundant processing units into the network 200 that can be coupled to various network branches or sub-networks of the network on demand, e.g. when a comparable processing unit becomes subject to failure. In this way, the inventive dynamic reconfiguration of the network by means of the controller 202 and the various switches allows to compensate failures of processing units and network branches. Consequently, single points of failure of a network can be effectively eliminated and the failsafe as well as the reliability of the entire network 200 may remarkably increase.

The inventive network 200 also provides temporary reconfiguration of the network in order to perform diagnostics and flashing procedures only with respect to selected processing units or network branches. In particular, the controller 202 is further adapted to perform numerous flashing and/or diagnostic procedures in parallel. For instance, processing unit 132 as well as processing unit 122 may be simultaneously disconnected from their corresponding network branches 140, 120 and a flashing procedure for both processing units 132, 122 can be performed simultaneously or at least within partially overlapping time intervals. This is of general advantage, because of the simultaneous flashing the overall flashing time can be remarkably reduced. Also, when e.g. processing units 132, 122 require the same set of flashing data, a respective simultaneous flashing of processing units 132 and 122 with a common set of flashing data generally allows to reduce data storage requirements for the flashing procedure.

Also, by separately connecting various processing units 132, 122 to the controller 202, a flashing procedure can be performed with respect to the individual data transmission properties of the processing units 132, 122 and with respect to their communication protocol. In this way, it is effectively prevented that flashing data has to be routed through a sub-network that features a limited or very poor data transmission rate.

The dynamic selection of sub-networks, their disconnection from sub-networks and the entire network 200 and coupling to the controller 202 is mainly governed by the position of switches in the network 200. Therefore, switches are preferably placed into the network 200 with respect to the functionality of the processing units. Also, switches might be placed with respect to reliability and importance of neighboring processing unit. For instance, when the sub-network 140 features a real-time network that is related to security systems like engine control or breaking system of a vehicle, it is reasonable to introduce a large amount of switches. In case of failure even a single failed processing unit can be disconnected from the sub-network 140 and the entire sub-network may remain intact.

Other sub-networks, such as network 114 that are e.g. related to less important functions of a vehicle, like infotainment or comfort related functions of the vehicle may be provided with less switches, because a failure of a particular processing unit or of the entire network branch only has a minor impact on the overall functionality of the overall network 200 and the general functionality of the vehicle. Therefore, placing and positioning of the switches may be performed with respect to the general architecture of the network 200, the functionality of the processing units, the reliability of the processing units as well as their impact on the network in case of a failure.

FIG. 3 schematically shows a block diagram of the controller 202 that has a switch control 240 and a flashing and diagnostics module 242. The switch control of the controller 202 serves to trigger the switches 204, . . . , 220 of the network 200. The flashing and diagnostics module 242 serves to provide flashing data to the sub-networks that are established b switches 204, . . . , 220. Also, the flashing and diagnostics module 242 serves to receive diagnostic data that is generated by the processing units of an established sub-network.

The concurrent and simultaneous providing of flashing data to various electronic control units, e.g. control units 134, 136, . . . , leads to a significant increase of data transmission bandwidth of the overall network and serves to improve the flashing speed.

Additionally, the flashing and diagnostics module 242 may identify malfunctioning of processing units and may autonomously compensate a failure of a processing unit by invoking disconnecting a similar processing unit from a different sub-network that is adapted to take over the functionality of the failed processing unit. This similar processing unit then effectively replaces the functionality of the failed one and is effectively coupled to the sub-network of the failed processing unit. In this way, the flashing and diagnostics module 242 may trigger the switch control 240 to control appropriate switches, that allows to effectively replace a failed processing unit by a corresponding redundant processing unit that may be located in a different sub-network.

FIG. 4 schematically illustrates the principle of a switch 206 that is positioned in the sub-network or bus 140 between processing units 138 and 136. The switch 206 has a switch element 250 featuring two switching states. In a first switching state, the switch element 250 electrically connects processing units 138 and 136. In this first state, the bus 140 is not disrupted and the controller 202 is not coupled to the bus 140. In the second state, the switching element 250 disconnects processing unit 136 from the bus 140 and from the processing unit 138 but connects and couples processing unit 136 to the conductor 228.

Controller 202 is coupled to the switch 206 via the two conducting wires 226 and 228. Conductor 226 effectively controls the switching element 250 and provides triggering sequences generated by the controller 202 to the switching element 250. Conductor 228 is connected to the flashing and diagnostics module 224 of the controller 202 and allows to transmit diagnostics and flashing data between the controller 202 and the processing unit 136. The conductor 228 effectively replaces the functionality of the data bus 140 and effectively couples processing unit 136 to the controller 202, which in turn may couple processing unit 136 to a different sub-network.

FIG. 5 schematically illustrates the internal structure of the switch 206 implemented by means of two transmission gates 252 and 254. Instead of realizing the switch 206 by means of a single switching element 250 as illustrated in FIG. 4, in FIG. 5, the two transmission gates 252 and 254 separately serve to disrupt the sub-network and to couple processing unit 136 to the controller 202. Both transmission gates 252, 254 are driven by the conductor 226 that is connected to the switch control module 240 of the controller 202.

The inverter 256 serves to invert the switching signal transmitted via the conductor 226 and therefore guarantees that the two transmission gates 252, 254 are oppositely driven. Hence, the two transmission gates 252, 254 are always in different switching states. When transmission gate 252 is open and therefore disrupts the sub-network 140, transmission gate 254 is closed and connects processing unit 136 with the conductor 228. In the opposite scenario, when transmission gate 254 is open, the transmission gate 252 is closed and the sub-network 140 remains non-disrupted and processing units 136 and 138 are effectively coupled to each other.

FIG. 6 schematically illustrates the internal structure of transmission gate 252 disrupting the sub-network or bus 140. Transmission gate 252 has two transistors 260, 262 that are implemented as NMOS transistor 260 and PMOS transistor 262. The two transistors 260, 262 are coupled in parallel and the gate of transistor 260 is inverted by means of the inverter 258 with respect to the gate of transistor 262. Hence, a switching signal provided by means of the conductor 226 serves to trigger the two transistors 260, 262 in an opposite way. Since the two transistors are implemented as PMOS and NMOS transistors both transistors 260, 262 simultaneously either serve as an insulating or conducting element.

The circuit diagram illustrated in FIG. 6 represents a switch with an almost ideal switching behavior. It features a high resistance and a low leakage when disrupting the bus 140 and provides a low electrical resistance in conducting mode, i.e. when the transmission gate is closed. Especially in the closed state, a transmission gate features a low electrical resistance and therefore has a neglecting impact on the bus 140.

FIG. 7 illustrates a sub-network 140 implemented as a ring bus with four processing units 142, 144, 146 and 148. Further, the ring bus 140 has two switches 218 and 220. Switch 218 serves to disrupt the ring bus 114 between processing units 142 and 144 and switch 220 serves to disrupt the ring bus 114 between processing units 146 and 148. Upon disruption, each of the switches 218, 220 establishes a connection to the controller 220. The controller 202 in turn may then reconfigure the ring bus 114 by coupling switch 218 to switch 220. Consequently, two effective conductors 225 and 227 may be established between the two switches 218 and 220. The two conductors 225 and 227 only represent a logical coupling between the two switches that may be realized by the controller 202. The switches 218 and 220 remain physically connected to the controller 202 as illustrated in FIG. 2.

The logical conductor 222 effectively couples processing unit 142 and processing unit 146 and the logical conductor 227 effectively couples processing unit 144 and processing unit 148. In this way the ring bus 114 is divided into two sub-networks as indicated by the circles 264 and 266. In this way two sub-networks 264 and 266 are established by means of an appropriate switching of the two switches 218 and 220. In particular, sub-network 264 couples processing units 142 and 146 and sub-network 266 effectively couples processing unit 144 and processing unit 138. In this way the invention not only provides temporary disconnecting processing units and network branches from the overall network but also allows to dynamically reconfigure a given network topology.

Even though the present invention is preferably applicable to heterogeneous networks in the automotive environment, the scope of the present invention is by neither limited to applications in the framework of automotive technology nor to heterogeneous and hierarchical network structures. The present invention is universally applicable to various network architectures and various technical fields making use of networked processing units.

LIST OF REFERENCE NUMERALS

-   100 network -   102 gateway -   104 gateway -   106 gateway -   108 gateway -   110 gateway -   112 diagnostic port -   114 sub-network -   116 sub-network -   115 sub-network -   118 sub-network -   117 sub-network -   120 sub-network -   122 processing unit -   124 processing unit -   126 processing unit -   128 processing unit -   130 processing unit -   132 processing unit -   134 processing unit -   136 processing unit -   140 sub-network -   142 processing unit -   144 processing unit -   146 processing unit -   148 processing unit -   200 network -   202 controller -   204 switch -   206 switch -   208 switch -   210 switch -   212 switch -   214 switch -   216 switch -   218 switch -   220 switch -   222 conductor -   224 conductor -   225 conductor -   226 conductor -   227 conductor -   228 conductor -   230 conductor -   232 conductor -   234 conductor -   236 conductor -   240 switching module -   242 flashing and diagnostics module -   250 switching element -   252 transmission gate -   254 transmission gate -   256 inverter -   258 inverter -   260 NMOS transistor -   262 PMOS transistor -   264 sub-network -   266 sub-network 

1. A network (200) of processing units comprising: at least one switch (204, . . . , 220) being adapted to disrupt the network for establishing at least a first sub-network of processing units, a controller (202) being coupled to any of the at least one switch, the controller being adapted for data exchange with any of the processing units (122, . . . , 136, 142, . . . , 148) of the at least first sub-network.
 2. The network (200) according to claim 1, wherein the controller (202) is further adapted to control the at least one switch (204, . . . , 220).
 3. The network (200) according to claim 1 or 2, wherein the controller (202) is adapted to control any of the processing units (122, . . . , 136, 142, . . . , 148) of the at least first sub-network.
 4. The network (200) according to any one of the claims 1 to 3, wherein the controller (202) is adapted to dynamically reconfigure the at least one switch (204, . . . , 220) and to dynamically restructure the at least first sub-network.
 5. The network (200) according to any one of the claims 1 to 4, wherein the at least one switch (204, . . . , 220) further comprises at least one transmission gate (252, 254).
 6. The network (200) according to any one of the claims 1 to 5, wherein the at least one switch (204, . . . , 220) comprises a first and a second transmission gate (252, 254), the first transmission gate provides disruption of the network between a first and a second processing unit and the second transmission gate provides coupling of the first processing unit to the controller.
 7. The network (200) according to any one of the claims 1 to 6, wherein the controller (202) is adapted to flash the processing units of the at least first sub-network simultaneously or to flash said processing units within partially overlapping time intervals.
 8. The network (200) according to any one of the claims 1 to 7, wherein the processing units (122, . . . , 136, 142, . . . , 148) are arranged in sub-networks (114, . . . , 120) making use of different communication bus protocols.
 9. The network (200) according to any one of the claims 1 to 8, wherein the controller (202) is adapted to replace the functionality of an at least first gateway controller (102, . . . , 110) of a sub-network (114, . . . , 120) if the at least first gateway controller fails.
 10. The network (200) according to any one of the claims 1 to 9, wherein the processing units are implemented as electronic control units of a vehicle.
 11. The network (200) according to any one of the claims 1 to 10, wherein the sub-networks (114, . . . , 120) feature a straight bus and/or a star network and/or a ring-bus network topology and make use of a CAN C and/or CAN B and/or LIN and/or FlexRay and/or MOST and/or FireWire data transmission standards.
 12. A controller (202) for establishing at least a first sub-network of a network (200) of processing units (122, . . . , 136, 142, . . . , 148), the controller comprising: a switching module (240) for disrupting the network by means of at least one switch and for establishing an at least first sub-network, a data transmission module (242) for transmitting data between the at least first sub-network and the controller.
 13. The controller (202) according to claim 12, further being adapted to control the at least first sub-network and to control the at least one switch (204, . . . , 220).
 14. The controller (202) according to claim 12 or 13, further being adapted to dynamically restructure the at least first sub-network and to flash the processing units of the at least first sub-network simultaneously or to flash said processing units within partially overlapping time intervals.
 15. A switch (204, . . . , 220) for establishing at least a first sub-network of a network (200) of processing units, the switch being adapted to be implemented between a first and a second processing unit of the network, the switch comprising: a first transmission gate (252) providing disruption of the network between the first and the second processing unit, a second transmission gate (254) providing coupling of the first processing unit to a controller (202), the first and second transmission gates being complementary coupled.
 16. A method of flashing processing units (122, . . . , 136, 142, . . . , 148) of a network (200) of processing units comprising the steps of: disrupting the network between at least a first and a second processing unit by means of at least one switch (204, . . . , 220), establishing at least a first sub-network on the basis of the at least one disruption, coupling of the at least first sub-network to a controller (202) being adapted to flash the processing units of the at least first sub-network.
 17. The method according to claim 16, further comprising dynamically reconfiguring the at least one switch (204, . . . , 220) and dynamically restructuring the at least first sub-network.
 18. The method according to claim 16 or 17, further comprising flashing of the processing units of the at least first sub-network simultaneously or flashing said processing units within partially overlapping time intervals.
 19. A computer program product for a controller (202) of a network (200) of processing units, the computer program product being operable to: disrupt the network between at least a first and a second processing unit by means of at least one switch (204, . . . , 220), establish at least a first sub-network on the basis of the at least one disruption, couple the at least first sub-network to the controller and to flash the processing units of the at least first sub-network. 